|
Objective VHDL, compared to VHDL, provides no additional mechanisms for communication between entity objects. Any communication mechanism for entity objects which provides more abstraction than standard VHDL communication using signals or shared variables must be modeled by the user. But for implementation of such communication, all the previously proposed object-oriented extensions of Objective VHDL can be used. The general problem with entity object communication is the strong encapsulation of the entity classes. Which makes it impossible to call the methods of an entity object directly from outside. Instead, any communication mechanism has to be based on the standard VHDL entities communication mechanism. In the following we propose a communication mechanism which is based on entity communication via signals. This approach is supported by a tool. |
Communicating entities are interconnected by signals. To avoid resolution functions, these signals are unidirectional (one signal for each communication direction). The signals are instantiations of class types which can carry a message and implement a communication protocol. Also the messages will be instantiations of class types. We will call the interconnecting signals communication channels in order to emphasize their property to transport messages and perform a protocol. While class types which represent messages will be generated by an additional tool automatically, the class type representing the communication channel must be modeled manually or can be taken from a library once modeled. |